查看系统CPU负载及使用率
命令分别有:
# 查看进程级别的cpu使用情况 |
top 命令
可以查看进程的CPU、内存等资源的使用情况
在top命令运行过程中可以通过top的内部命令做显示方式的控制
:
命 令 | 描 述 |
---|---|
1 | 开启或关闭显示所有cpu使用详细情况 |
l | 关闭或开启第一部分第一行 top 信息的表示 |
t | 关闭或开启第一部分第二行 Tasks 和第三行 Cpus 信息的表示 |
m | 关闭或开启第一部分第四行 Mem 和 第五行 Swap 信息的表示 |
N | 以 PID 的大小 的顺序排列表示进程列表(第三部分后述) |
P | 以 CPU 占用率大小 的顺序排列进程列表 (第三部分后述) |
M | 以内存占用率大小 的顺序排列进程列表 (第三部分后述) |
h | 显示帮助 |
n | 设置在进程列表所显示进程的数量 |
q | 退出 top |
s | 改变画面更新频率(输入数字) |
vmstat命令
可以查看系统整体的cpu,内存的使用情况
属 性 | 描 述 |
---|---|
r | 表示系统中 CPU 等待处理的线程 。由于 CPU 每次只能处理一个线程,所以,该数值越大,通常表示系统运行越慢 。 |
us | 用户模式 消耗的 CPU 时间百分比。该值较高时,说明用户进程消耗的 CPU 时间比较多 ,比如,如果该值长期超过 50%,则需要对程序算法或代码等进行优化 。 |
sy | 内核模式 消耗的 CPU 时间百分比。 |
wa | IO 等待消耗 的 CPU 时间百分比。该值较高时,说明 IO 等待比较严重,这可能磁盘大量作随机访问造成的,也可能是磁盘性能出现了瓶颈 。 |
id | 处于空闲状态 的 CPU 时间百分比。如果该值持续为 0,同时 sy 是 us 的两倍,则通常说明系统则面临着 CPU 资源的短缺 。 |
操作进程CPU占用和负载较高
使用top直接终止cpu消耗大的进程
top命令查看对cpu消耗大的进程,直接输入"k"
,然后输入相应进程的PID号
即可终止该进程。
通过top观察cpu很空闲,但是负载比较高的情况
load average 是对CPU负载的评估,其值越高,说明其任务队列越长,处于等待执行的任务越多
。
出现此种情况时,可能是由于僵死进程导致的。可以通过指令ps -axjf
查看是否存在 D 状态进程
。
D 状态:是指
不可中断的睡眠状态
。该状态的进程无法被kill,也无法自行退出
。只能通过恢复其依赖的资源
或者重启系统
来解决。